#ifndef __SEARCHENGINESERVER_HPP__
#define __SEARCHENGINESERVER_HPP__

#include <string>

using std::string;

//查询服务器类
class SearchEngineServer
{
public:
    SearchEngineServer(const string& ip,short port);//构造函数
    ~SearchEngineServer() {}

    void start();//开始提供服务
    
private:
    void onConnection(const TcpConnectionPtr& conn);//回调函数,提供给TcpServer
    void onMessage(const TcpConnectionPtr& conn);//回调函数,提供给TcpServer
    void onClose(const TcpConnectionPtr& conn);//回调函数,提供给TcpServer
    void doTaskThread(const TcpConnectionPtr& conn,const string& msg);//该方法由某一个线程池的线程执行

private:
    TcpServer _tcpserver;//tcp通信模块
    Threadpool _pool;//线程池
    KeyRecommander _keyRecommander;//关键字推荐模块
    WebPageSearcher _webSearcher;//网页查询模块
    ProtocolParser _protocolParser;//协议解析模块

};


#endif
